from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
↳ QTRS
↳ DependencyPairsProof
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
QUOT2(s1(X), s1(Y)) -> QUOT2(minus2(X, Y), s1(Y))
SEL2(s1(N), cons2(X, XS)) -> SEL2(N, XS)
MINUS2(s1(X), s1(Y)) -> MINUS2(X, Y)
QUOT2(s1(X), s1(Y)) -> MINUS2(X, Y)
ZWQUOT2(cons2(X, XS), cons2(Y, YS)) -> ZWQUOT2(XS, YS)
ZWQUOT2(cons2(X, XS), cons2(Y, YS)) -> QUOT2(X, Y)
FROM1(X) -> FROM1(s1(X))
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
QUOT2(s1(X), s1(Y)) -> QUOT2(minus2(X, Y), s1(Y))
SEL2(s1(N), cons2(X, XS)) -> SEL2(N, XS)
MINUS2(s1(X), s1(Y)) -> MINUS2(X, Y)
QUOT2(s1(X), s1(Y)) -> MINUS2(X, Y)
ZWQUOT2(cons2(X, XS), cons2(Y, YS)) -> ZWQUOT2(XS, YS)
ZWQUOT2(cons2(X, XS), cons2(Y, YS)) -> QUOT2(X, Y)
FROM1(X) -> FROM1(s1(X))
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
MINUS2(s1(X), s1(Y)) -> MINUS2(X, Y)
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MINUS2(s1(X), s1(Y)) -> MINUS2(X, Y)
POL( MINUS2(x1, x2) ) = x1
POL( s1(x1) ) = x1 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
QUOT2(s1(X), s1(Y)) -> QUOT2(minus2(X, Y), s1(Y))
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOT2(s1(X), s1(Y)) -> QUOT2(minus2(X, Y), s1(Y))
POL( minus2(x1, x2) ) = max{0, -1}
POL( s1(x1) ) = x1 + 1
POL( 0 ) = max{0, -1}
POL( QUOT2(x1, x2) ) = x1
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
ZWQUOT2(cons2(X, XS), cons2(Y, YS)) -> ZWQUOT2(XS, YS)
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ZWQUOT2(cons2(X, XS), cons2(Y, YS)) -> ZWQUOT2(XS, YS)
POL( cons2(x1, x2) ) = x1 + x2 + 1
POL( ZWQUOT2(x1, x2) ) = max{0, x1 + x2 - 1}
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
SEL2(s1(N), cons2(X, XS)) -> SEL2(N, XS)
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SEL2(s1(N), cons2(X, XS)) -> SEL2(N, XS)
POL( cons2(x1, x2) ) = max{0, -1}
POL( s1(x1) ) = x1 + 1
POL( SEL2(x1, x2) ) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
FROM1(X) -> FROM1(s1(X))
from1(X) -> cons2(X, from1(s1(X)))
sel2(0, cons2(X, XS)) -> X
sel2(s1(N), cons2(X, XS)) -> sel2(N, XS)
minus2(X, 0) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
quot2(0, s1(Y)) -> 0
quot2(s1(X), s1(Y)) -> s1(quot2(minus2(X, Y), s1(Y)))
zWquot2(XS, nil) -> nil
zWquot2(nil, XS) -> nil
zWquot2(cons2(X, XS), cons2(Y, YS)) -> cons2(quot2(X, Y), zWquot2(XS, YS))